home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Info / For Developers / ObjectPlant.sea / ObjectPlant / Object Plant README 2.1.3 < prev    next >
Text File  |  1999-03-24  |  30KB  |  536 lines

  1. The Object Plant 2.1.3
  2.  
  3. Date of Release: 24 March 1999
  4.  
  5. The Object Plant is a OOA/OOD tool based on the OMT and UML notation. It can be used
  6. to create Object Models, State Diagrams, Event Trace Diagrams and Use Case Diagrams.
  7. The ObjectPlant can also be used to generate C++ or Java code skeletons and/or
  8. documentation on Word 5.1-6.0 RTF format.
  9.  
  10. C++ and Java code can be reverse engineered (10USD extra per each single license).
  11.  
  12. The Object Plant folder contents:
  13. - Object Plant                          PowerPC version of the program
  14. - 68k Object Plant                   68k version of the program
  15.  
  16. - Data type files                      folder which contains files with data types sets that
  17.                                                 can be read into ObjectPlant:
  18.     - C++ Data Types                       text file with a subset of the standard C++ data types
  19.     - Java Data Types                      text file with a subset of the standard Java data types
  20.     - Mac Data Types                       text file with a subset of the standard Mac data types
  21.     - NeoAccess_Data_Types          text file with a subset of the NeoAccess data types
  22.     - PowerPlant_Data_Types         text file with a subset of the PowerPlant data types
  23.     - Quickdraw_3D_Data_Types     text file with a subset of the QuickDraw3D data types
  24.  
  25. - Code Generation templates   folder which contains a set of files that can be used to
  26.                                                generate different kinds of documents, e.g. code
  27.     - C++Template.cc                     template file for generation of C++ code skeletons
  28.     - C++Template.h                       template file for generation of C++ code skeletons
  29.     - C++CWTemplate.cc                template file for generation of C++ CodeWarrior specific
  30.                                                     code skeletons
  31.     - C++CWTemplate.h                  template file for generation of C++ CodeWarrior specific
  32.                                                     code skeletons
  33.     - C++SpecialTemplate.cc         template file for generation of C++ code skeletons
  34.     - C++SpecialTemplate.h           template file for generation of C++ code skeletons
  35.     - Java                                      template file for generation of Java code skeletons
  36.     - HTML Template                     template file for generation of HTML documentation
  37.     - Word 5.1-6.0                         template file for generation of documentation in
  38.                                                     RTF format suitable for Word 5.1-6.0
  39. - 2.0 User's manual                  the user's manual in pdf (Acrobat) format
  40. - Example (Object Plant)          an example document
  41. - Cheat sheet                           an example document containing information about the
  42.                                                 different model items
  43. - Register                                program for creating register forms to be sent to Kagi 
  44.  
  45. Requirements:
  46. System 7.1 or later
  47. 68020 or better
  48. 3 Mb free RAM
  49.  
  50. Registering
  51. To register use the Register program to create a register form which then shall be sent
  52. to Kagi Shareware using mail, email or fax.
  53.  
  54. The price for a single license is 25 USD, there are also site and world licenses available for
  55. 500 USD resp. 2000 USD.
  56.  
  57. The reverse engineering parts of ObjectPlant require separate registering and the price
  58. for a single license is 10 USD, there are also site and world licenses available for
  59. 200 USD resp. 800 USD.
  60.  
  61. http://www.kagi.com
  62. Email: shareware@kagi.com        (1 to 3 day processing time delay)
  63. FAX: +1 510 652 6589            (4 to 8 day processing time delay)
  64. Postal address:                       (4 to 8 day delay plus transit time to Kagi)
  65. Kagi
  66. 1442-A Walnut Street #392-MU
  67. Berkeley, California, 94709-1405
  68. USA
  69.  
  70. Please note that Kagi automatically rejects any electronic payment that come includes
  71. a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
  72.  
  73. N.B. Kagi is a payment processing company and they are not the author/shipper of the
  74. product. Any problems with receiving registration codes or any problems with the product
  75. itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
  76.  
  77. Registration codes will be sent to you normally within a week after receive a
  78. confirmation of your order from Kagi.
  79.  
  80.  
  81. Disclaimer
  82. This software is provided "as-is". I take no responsiblity in any damage caused by the
  83. software, use of the software or any of its outputs such as generated code. Use it at
  84. your own risk.
  85.  
  86.  
  87. Changes in 2.1.3 (24 March 1999)
  88. • Corrected bug related to abstract classes code generation. The abstract keyword
  89.    (used in the Java template) was output even though the class wasn't abstract.
  90. • Fixed the problem with invisible (white) text strings in exported pictures (PICT format).
  91. • Perhaps fixed the problem with dashed lines being printed as solid lines. (Can someone
  92.    who has had this problem verify this and send me an email?)
  93. • Corrected some other problems (duplicated items) in exported pictures (PICT).
  94. • Corrected some bugs in the Interface dialog. It was mostly related to the new
  95.    Code Generation parts which didn't work for Interfaces.
  96. • Corrected another bug related to closing of windows. If you closed the project
  97.    window and got the "Do you want to save" question and then answered "Cancel"
  98.    all items in the main windows were deleted.
  99. • Corrected a bug which could cause a crash if an item (attribute or operation)
  100.    was dragged over the Project Window.
  101. • Corrected a bug that caused ObjectPlant to crash in the Preference dialog if you
  102.    were using MacOS 8.1 or earlier.
  103. • Removed a memory leak in the drag-n-drop in dialog windows.
  104. • The document is now marked "dirty" if you do a "Page Setup" or change in the
  105.    Document Preferences.
  106. • Added command keys for "Generate Code (All)" and "Generate Code (Selected)".
  107. • Changed the ProjectWindow so that one of the panes (ObjectModel, State Diagram,
  108.    EventTrace or Use Case) is active (selected). This makes it possible to add new
  109.    pages, delete pages and do print operations (setup and print) with the selected
  110.    page when the ProjectWindow is in front.
  111. • Added description fields for operation parameters and exceptions. Also changed the
  112.    Java code generation template so that @param and @exception descriptions are output.
  113. • Added the name of the page as a header of printouts.
  114.  
  115.  
  116. Known Bugs
  117.  
  118. • The main windows sometimes look "messy". Everything is not erased properly when
  119.    moving parts around.
  120. • Moving a set of relationsships and classes can sometimes leave some of the lines
  121.    behind. 
  122. • If you use code generation, you cannot use the ':' character in class names.
  123. • Line drawing is not very good. When changing between different views lines are not
  124.    updated (adjusted) as expected.
  125. • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer in
  126.    the chooser.
  127. • Snap to grid is only implemented in the Use Case diagram page.
  128. • Packages cannot be copied.
  129. • EPS output for free text may not be correct. I have no possibility to verify this.
  130. • Using any other font than helvetica may produce strange output when exporting
  131.    EPS pictures.
  132.  
  133. Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc. 
  134.  
  135. Questions concerning the program can be sent directly to the author at m-arc@algonet.se or
  136. micke@kagi.com
  137.  
  138.  
  139. This program should only travel in the complete folder.
  140.  
  141. Have fun,
  142.  
  143.                 Mikael Arctaedius
  144.         Stockholm, Sweden
  145.  
  146.         email: m-arc@algonet.se
  147.         http://www.softsys.se/ObjectPlant/
  148.  
  149.  
  150. Release History
  151.  
  152. Changes in 2.1.1 (6 March 1999)
  153. • Corrected a bug in Java reverse engineering. Parsing of operation parameters
  154.    will now handle arrays properly.
  155. • New Java code generation template which corrects the following problems:
  156.    - Added the necessary tags so that a class is declared `abstract'.
  157.    - Added the output of exceptions to the VIS_NONE operations.
  158.    - Added the necessary tags to the end of each OPERATION clause so that
  159.       abstract methods do not put out a "body", but instead simple finish the
  160.       declaration with a semicolon.
  161. • Corrected a bug related to parsing C++ code where a constructor's initializer
  162.    contained a literal string. This did in previous versions cause the parsing to
  163.    be aborted with an error message.
  164. • Generated files will now inherit the template file's colour.
  165. • Added clickable links to my mail-address and ObjectPlant's web-site in the
  166.    About dialog.
  167. • Corrected UML notation for static class members. They are now underlined
  168.    instead of prepended with the $ character, all in line with the 1.1 version of
  169.    the UML notation guide.
  170. • The C++ parser now understands javadoc style comments. This means that
  171.    your class, class member comments can be imported into the model
  172.    if the are surrounded by /** */.
  173. • Fixed several problems which displaced lines connected to other objects when
  174.    the lines weren't rectilinear and the objects and lines were moved.
  175. • Corrected a problem with self-referencing associations and aggregations that
  176.    didn't show up in previous versions.
  177. • Changed maximum size of a main window to 1600x1200.
  178. • Corrected a problem with code generation; when a file couldn't be opened because
  179.    it was already open by another program, a generated (empty) file wasn't deleted
  180.    which it should be since the generation was aborted.
  181. • Error reports in code generation now includes a MacOS error number which will
  182.    help identify problems.
  183. • Added support for F1-F4 keys as undo, cut, copy, paste in all text fields and
  184.    diagram pages.
  185. • Added support for command-dragging of windows in the background without
  186.    bringing the window to the foreground.
  187. • Added a "Find class" and "Find interface" menu command to the Class and Interface
  188.    menus. This will activate the page where the class is defined.
  189. • Fixed a bug that changed the system font when importing code.
  190. • Corrected a bug that sometimes made the Add button in the Import Code dialog
  191.    active when it shouldn't be and vice versa.
  192. • Corrected some bugs in the Interface dialog. The data/return type popup menu
  193.    shall now work correctly and drag-n-drop shall also work correctly.
  194. • Added support for Edit->Cut
  195. • And some other minor bugs have been fixed.
  196.  
  197.  
  198. Changes in 2.1 (24 January 1999)
  199. • Corrected a drag-n-drop bug in the project window. This bug caused the program
  200.    to hang.
  201. • Corrected a bug that inhibited all further drawing in the Use Case diagram
  202.    window after having edited a Use Case name in the main window.
  203. • Corrected some minor updating problem related to free text items.
  204. • Corrected a problem with free text always using helvetica when opening a
  205.    document and the "Use System Font" option was enabled.
  206. • Corrected a problem that caused strange behaviour after deleting an item.
  207.    If deleted item constrained the possible movement of any other item, the
  208.    constraint would remain even though the item was deleted.
  209. • New Word RTF template that also support Word 6.0 RTF format.
  210. • Enhanced the code generation so that it will now be possible to generate
  211.    several classes into one common file.
  212. • The code generation should now also be able to generate more {CLASS}
  213.    {/CLASS} section outputs, i.e. the code generation will not stop when the
  214.    first {/CLASS} tag has been encountered. This was a bug in previous versions.
  215. • Added a "Append set..." button to the data types dialog so that several data
  216.    types file may be read without clearing the list every time a new data type
  217.    file is read.
  218.  
  219. Changes in 2.0.5 (12 November 1998)
  220. • Corrected two bugs: one in the preferences dialog and one crash which occured
  221.    when doubleclicking on an operations parameter.
  222.  
  223. Changes in 2.0.4 (11 November 1998)
  224. • Corrected some update problems with Use Cases.
  225. • Corrected bug in code generation. Interface files were stored in the folder above the
  226.    specified folder.
  227. • Corrected a crash bug related to importing Java code containing empty
  228.    documentation comments.
  229. • Corrected a problem with array arguments when parsing C++ code.
  230. • Corrected a problem with a disappearing Class menu.
  231. • Corrected a crash bug which occured when trying to close all open dialog windows
  232.    (option click in the close box of a dialog window).
  233. • Added some keyboard shortcuts for the four main window and also command-up
  234.    arrow and command-down arrow to step through the pages in a window.
  235. • Added possibility to select between large and small UML generalization arrows.
  236. • Handles of a line can now be removed using the cut-tool.  Option-click on a handle
  237.    to remove it.
  238. • Added a preference option to be able to select if lines (association, generalization,
  239.    dependency etc) shall be created rectilinear or oblique.
  240. • Added possibility to cut dependency, use case and actor generalization lines.
  241. • Added possibility to specify if the attributes and operations shall be displayed in
  242.    a reference class. This is an option in the Object Model section of the preferences
  243.    dialog. You can specify that for a certain view either all/selected/none
  244.    attributes/operations shall be displayed in reference classes. If the "selected"
  245.    option is active, you can select for each reference class if it shall show or hide
  246.    the attributes/operations. This is selected by uisng the select tool and option
  247.    click on the reference class. A popup-menu will appear where you can select to
  248.    hide or show the attributes/operations.
  249. • And much more...
  250.  
  251. Changes in 2.0.3 (3 October 1998)
  252. • Added support for parsing C++ exception specifiers.
  253. • Added support for inheritance between actors in use case diagrams.
  254. • Added support for type conversion operators, eg:
  255.        operator int();
  256. • Added support for parsing of the namespace keyword. When a namespace keyword
  257.    is parsed, a corresponding package will be created (remember to change the
  258.    "create package" preference option if you are using namespaces).
  259. • Added auto-scrolling for drag-n-drop in the left pane of the class and interface
  260.    dialog windows.
  261. • Added possibility to automatically include all implemented operations in a
  262.    class implementing an interface.
  263. • Added the possibility to define a set of identifiers which will be ignored when
  264.    parsing code. This can be useful to exclude macros which have no meaning for
  265.    the class definition, for example the EXPORT_MA and INIT_FMESSAGE macros
  266.    used in all MacApp class headers.
  267. • Corrected C++ parsing of operations returning a namespace qualified type.
  268. • Corrected a bug that could cause ObjectPlant freezing when changing the
  269.    size of the project window.
  270. • Corrected the parsing of structs within class definitions.
  271. • Expanded the stack in the 68k which should reduce the risk of crashing due to
  272.    stack colliding with the heap.
  273. • Corrected another problem with the 68k version. When loading large data type
  274.    files ObjectPlant sometimes crashed.
  275. • Corrected a problem that occured after saving a file. Then the wrong resource
  276.    file was used which could result in strange errors, for example the help dialog
  277.    was empty when being displayed.
  278. • Corrected quite a few problems with the C++ parser.
  279. • And much more...
  280.  
  281. Changes in 2.0.2 (18 September 1998)
  282.  
  283. • Added more support for C++ template types. This means that template types will
  284.    be parsed correctly even when inherited but templates themselves are still not
  285.    supported.
  286. • Corrected a bug that related to importing (reverse engineering) Java comments.
  287.    If the comment started on the same line as the /** an error occured causing a
  288.    break into MacsBug or if you don't have it installed, ObjectPlant crashed.
  289. • Corrected a bug which could cause a crash when using reference items (class
  290.    references or interface references).
  291. • Corrected a giant memory leak which slowly degraded the performance.
  292. • The dialog windows are now resizable but not all fields in the dialogs
  293.    respond to the changed size.
  294. • Corrected a bug when parsing java comments related to constructor methods.
  295. • And much more...
  296.  
  297. Changes in 2.0.1 (7 September 1998)
  298.  
  299. • Added support for C++ template types. This means that template types will be parsed
  300.    correctly but templates themselves are still not supported.
  301. • Added support for reverse enginnering of Java comments. Class, operation and attribute
  302.    descriptions within a /** */ comment will be parsed and added to the object model.
  303. • Corrected a problem with a blinking cursor in the Event Trace diagram.
  304. • Corrected a bug that resulted in a "Syntax error" dialog when parsing C++ code
  305.    with namespace qualifiers, e.g. void function( ClassA::MyType par1 );
  306. • Java class initializers will now be parsed correctly and not generate a "Syntax error".
  307. • It should now be easier to select and move lines, and in particular to "grab"
  308.    the handles of a line.
  309. • New code generation templates for Class.java and C++Template.cc (also separately
  310.    released on the web-site).
  311. • Corrected a bug that made the "Import code..." file dialog show up without displaying
  312.    either *.h, *.hpp or *.java files.
  313. • Made the file filtering in the Import code dialog case independent.
  314. • Added the lost "By Value" checkbox in the aggregation dialog window.
  315. • Corrected problem in Java parser when extending class by their full path, e.g.
  316.    extends awt.Component instead of extends Component. In the latter case a class
  317.    named awt.Component was created instead of a class Component in the package awt.
  318.    (This goes for the implements statement too.)
  319. • And much more...
  320.  
  321. Changes in 2.0 (24 August 1998)
  322.  
  323. • Added C++ and Java reverse engineering. Handles version 1.1 of Java but ignores inner
  324.    classes.
  325. • Corrected a bug that caused documents to be corrupted when read into ObjectPlant.
  326.    The bug is now fixed, but your documents may still be corrupt if saved after
  327.    ObjectPlant had corrupted it. If you have any problems with a document, email it
  328.    to me and I'll try to fix it manually.
  329. • Changed the Page Palette into an ordinary Project window listing the pages of all four
  330.    diagrams. Closing the Project Window closes the project.
  331. • Made it possible to change the heirarchy of packages.
  332. • Extended Use Case diagrams. Now you can add extension points to a use case.
  333. • Corrected a bug that could cause a crash when creating new documents (File->New)
  334.    or when opening old documents (File->Open...).
  335. • Added an option to get type popupmenus sorted (a quick sort performed only on the
  336.    first four letters of each word).
  337. • Added an option to get type popupmenus to include all classes defined in the document.
  338. • Corrected the looks of the supplier relation (between a class and an interface).
  339.    Now it conforms to UML 1.1 using a generalization arrow.
  340. • Added more small icons (for MacOS 8.5).
  341. • Code generation templates: several instances of the USERCODE tag can now be included
  342.    in a code generation template.
  343. • Changed the line drawing algorithm for generalizations, aggregations, associations and
  344.    supplier relations. A generalization, aggregation, association and supplier relation can
  345.    now be forced to be rectilinear (checkbox in dialog window). If a generalization,
  346.    aggregation, association and supplier relation is rectilinear when opening an old file,
  347.    the rectilinear checkbox will be set automatically.
  348. • New Java templates that make use of the SYNCHRONIZED tag.
  349. • In abstract classes operations are written in italics only if the operation is abstract.
  350.    (This is not yet true for EPS exported pictures.)
  351. • Moved some preferences from being application based to document (project) unique.
  352. • Changed behaviour of the attribute's initializer field (in the class dialog) so that it
  353.    scrolls when moving outside of the edit field.
  354. • Added a new code generation tag {REVERSEDEEPANCESTORLIST}. It does basically the
  355.    same as the {DEEPANCESTORLIST} but lists the hierarchy the other way round.
  356. • Added a "Continue All" button in the alert warning for a template file that is
  357.    younger than the generated file.
  358. • Added a new tag {IMPLEMENTS}{/IMPLEMENTS} that can be used for Java to automatically
  359.    generate methods for implemented interfaces. This means that you don't explicitly need
  360.    to define these methods in the class to have them generated.
  361. • Added support for Navigation Services (PowerPC only).
  362. • Corrected a bug that caused the preview of exported EPS files not always be stored in
  363.    the same folder as the EPS file itself.
  364. • Changed the way the supplier tools works. It will now be consistent with the
  365.    generalization tool. You should start pointing to the class and draw a line to
  366.    interface and then release the mouse button.
  367. • Corrected a bug related to importing data tupes.
  368. • Added two new data type files, one for Java and one for Mac types.
  369. • The in/out IDL information shall now be visible for both class and interface
  370.    operation parameters.
  371.  
  372. Changes in 1.5.2 (22 May 1998)
  373. • Code generation templates can now have more than one {USERCODE} tag
  374.    per {SIGNATURE} tag.
  375. • Added an icon for stationery ObjectPlant document.
  376. • Added a menu item for hiding/showing all palette windows (command-H).
  377. • Corrected the bug that made it hard to create a reference to an interface on a subpage.
  378. • Corrected some problems with storing of the Page Setup information.
  379. • The left-hand pane of the dialog windows (e.g. class dialog windows) shall now be
  380.    updated immediately when changing any information in the right-hand pane.
  381. • If a model page covers several printer pages, all of them will be printed.
  382. • And in accordance with previous item, the page boundaries shown in the
  383.    main windows are now repeated indefinitely.
  384. • Corrected a bug that caused a crash when removing an inteface having a reference
  385.    with a connection to a class.
  386. • Minor correction of the Java template file.
  387. • The interaction name popup menu now includes all inherited operations.
  388. • Corrected a bug related to Paste in textfields in the dialog windows.
  389. • Added a command to the Class menu which can be used to inherit all abstract
  390.    operations of the class' superclasses (command-shift-I).
  391. • Better handling of the ATTRIBUTE tag in code generation templates
  392. • If the "Open info window on create" option is checked an info window is opened
  393.    for _all_ types of items, including text items.
  394. • Added possibility to set the default values for attributes' visibility and show
  395.    checkbox and operations' visibility and show checkbox. These default values
  396.    are used when new attributes/operations are created.
  397. • You can now close all dialog windows with one single click if you hold the option
  398.    key and close the top dialog window.
  399. • Added a "Transient" attribute to attributes.
  400. • It is now possible to output information from the Use Case diagrams through
  401.    code generation.
  402. • Corrected the bug which deleted a not selected attribute/operation when selecting
  403.    Edit->Clear.
  404. • Added a preference option to always use the System font.
  405. • Corrected a problem related to Supplier arrows.
  406. • Added a new code generation tag: DEEPANCESTORLIST which gives a list of _all_
  407.    ancestors of a class opposed to the ANCESTORLIST tag which only gives the parent
  408.    class(es).
  409. • Implemented auto-completion for all textfields having a popup-menu.
  410. • And much more...
  411.  
  412. Changes in 1.5.1 (27 April 1998)
  413. • Corrected the code generation bug that caused ObjectPlant to crash when using
  414.    the Word 5.1 RTF template.
  415. • Moved the "Description:" header in the Interface dialog window.
  416. • Corrected bug that caused the type of interface parameter to be incorrect.
  417. • Nudging interfaces is now working.
  418. • Cut and Paste in description-fields is now implemented.
  419. • Moving several selected interfaces is possible.
  420. • When you have selected an attribute or operation in the class dialog window,
  421.    you can use the TAB-key to get to (and select) the name field of the attribute
  422.    or operation.
  423. • ANCESTORLIST tag can now be used inside the FILENAME tag.
  424. • Corrected the attribute's initializer field. Previously the characters were
  425.    jumping up and down every second character input.
  426. • Corrected a bug in the disclosure-triangle control which caused crashes on
  427.    some Macs.
  428. • Corrected handling of text-strings and tags inside the ATTRIBUTE tag.
  429. • Increased the cut-tool's cutting "area".
  430. • Corrected some bugs related to drag-n-drop in the class dialog window.
  431.    In 1.5 ObjectPlant could crash if you made a quick drag-n-drop in the left pane.
  432.    Furthermore, one couldn't rearrange parameters with drag-n-drop.
  433. • Changed the pop-up menu handling when creating references.
  434. • Added some new code generation tags that can be used inside the {ASSOCLIST}
  435. • Implemented the scrollbars in description textfields.
  436. • And much more...
  437.  
  438. Changes in 1.5 (19 April 1998)
  439. • Added a dependency tool to create dependency lines between packages.
  440. • Added generalizations in Use Case diagrams.
  441. • Implemented copy of class parameters.
  442. • New layout on dialogs.
  443. • When creating a reference item, e.g. a class reference, the dialog window is
  444.    no longer used. Rather a simple popupmenu appears with a list of all classes
  445.    (or interfaces) when shift-clicking with the class- or interface-tool.
  446. • Corrected some problems related to line drawing, for example when having
  447.    a state diagram self-referencing event and moving the state.
  448. • Corrected some drawing bugs related to "navigable" arrows.
  449. • Names of associations, aggregations, generalizations and suppliers are now displayed.
  450. • DATESTAMP tag is now valid within the FILENAME tags.
  451. • Output from TIMESTAMP tag wil now be in the format selected in the "Date & Time"
  452.    control panel.
  453. • Changed the handling of the ATTRIBUTE tag. Now the END tag can be used to specify
  454.    the string following the last attribute.
  455. • Corrected some line drawing bugs (in Use Case and State diagrams).
  456. • And much more...
  457.  
  458. Changes in 1.4.6 (5 February 1998)
  459. • Made major speed improvements. Saving a large file that previously took 17
  460.    seconds to save is now done is 4 seconds.
  461.    Generating a .cc file for a large file that previously took 25 seconds to
  462.    generate is now generated in 1 second.
  463. • Corrected a bug that caused a reference to the wrong class to be created when
  464.    creating a reference on a sub-page.
  465. • Corrected a crash bug that occured during save of a document.
  466. • When opening a file that has all the three main windows closed, the menu items
  467.    will now be correctly enabled and disabled.
  468. • The "Hide page names" (in references) option is now stored in the preferences file.
  469. • A document is now marked "dirty" when deleting an attribute, operation or
  470.    parameter in a dialog window.
  471. • And much more...
  472.  
  473. Changes in 1.4.5 (24 December 1997)
  474. • Replaced the Mercutio MDEF with the latest version.
  475. • Added an RTF Word 5.1 template file.
  476. • Added new code generation tags: {IFNORETURNTYPE}, {ELSE}, {/IF}
  477.    This is a start towards making object pascal code generation templates.
  478. • Added new visibility option: none
  479. • Added new code generation tags: {VIS_NONE}, {/VIS_NONE}
  480.    that can be used for package wide visibility used in Java.
  481. • Added possibility to have different preferences for the edit dialogs
  482.    (e.g. class dialog window) and the diagram windows.
  483. • Added print setup information to Object Plant documents. Any print setup information
  484.    is now stored in the document file.
  485. • Fixed a bug that messed up State Diagram states' events and their action strings.
  486. • Shift-tab can now be used to step backwards through textfields in dialog windows.
  487. • And much more...
  488.  
  489. Changes in 1.4.4 (16 November 1997)
  490. • Corrected a bug related to closing document with Event Trace diagrams.
  491.    The bug caused Object Plant to crash.
  492. • Corrected a bug related to paste in class, interface and state dialog windows.
  493.    In the class and interface dialog windows it was impossible to copy-paste
  494.    an attribute or operation and in the state dialog window it was impossible to
  495.    copy-paste an event.
  496. • Made it possible to create class references based on the content of the
  497.    clipboard. By copying a class and then paste it using option-command-V a
  498.    class reference will be created instead of a new class.
  499. • Replaced the icon LDEF used in the preferences dialog.
  500. • And much more...
  501.  
  502. Changes in 1.4.3 (31 October 1997)
  503. • Added several new tags that can be used in the code generation templates:
  504.    TIMESTAMP, DATESTAMP, DATETIMESTAMP, PROGRAMMER, DATECREATED, DATEMODIFIED
  505. • The creator type of generated files will now be the same as the template files'.
  506. • Fixed a bug that crashed Object Plant when changing the name to a longer package name.
  507. • Added possibility to indicate navigability of associations and aggregations.
  508.    The navigability arrows will only be shown when UML notation is used.
  509. • Moved the "Suppress page name in reference items"-option from the preference dialog
  510.    to the the View menu.
  511. • Added more keyboard shortcuts:
  512.    command-option-left arrow: align left
  513.    command-option-right arrow: align right
  514.    command-option-top arrow: align top
  515.    command-option-bottom arrow: align bottom
  516.    command-option-A: select association tool
  517.    command-option-C: select class tool
  518.    command-option-G: select generalization tool
  519.    command-option-H: select aggregation (has a) tool
  520.    command-option-I: select interface tool
  521. • Corrected a couple of EPS bugs.
  522. • And much more...
  523.  
  524. Changes in 1.4.2 (22 September 1997)
  525. • Added two new tools: text and frame tool. Text tool can be used to insert any free
  526.    text string in a diagram. Frame tool can be used to visually group items.
  527. • Reference items can not be copied any more. This is necessary to avoid dangling
  528.    pointers (if the original item is deleted when the clipboard contains a reference).
  529. • Names of reference items shall now be correct in association dialogs.
  530. • Dragging "collapsed" windows will now track the mouse correct.
  531. • Using forward delete in the operation dialog when a parameter is selected
  532.    will no longer insert a delete character in the text edit field.
  533. • New C++ templates which makes it possible to add initializations in constructors.
  534. • Corrected quite a few bugs in the code generation. Regeneration of code shall be safer
  535.    now.
  536.